// 1. 获取users的分页列表数据
import { reqUserPageList,reqDeleteUser,reqLogout } from '../../api/index'
import {getUser,removeToken, removeUser} from '../../utils/storageUtils'
// import render from './table.art';  // art文件导入js之后是一个函数
// console.log('art render : ', render);
// console.log('render(): ',render({username:'atguigu'})); // 导入的art文件函数，执行的结果是 art文件的内容字符串

import userRender from './user.art';
async function getUserList(page = 1, limit = 3) {
    let res = await reqUserPageList(page, limit)
    let { data: { totalPage, users } } = res;
    // 从sessionStorage中获取用户信息
    let {username} = getUser();
    document.querySelector('#app').innerHTML = userRender({ users, totalPage, page,username });
    // 要想获取到删除按钮，必须是art渲染完毕之后，页面里存在才能获取
    const btns = document.querySelectorAll('.deleteBtn');
    btns.forEach(btn=>{
        // 给每一个删除按钮绑定单击事件
        btn.onclick = async function(e){
            // console.log('dataset:',this.dataset);
            let {id, userName} = this.dataset;
            if(!confirm(`确定要删除${userName}么？`)) return;
            // console.log('执行删除操作')
            let res = await reqDeleteUser(id)
            console.log(res);
            if(res.code === '2000'){// 删除成功，刷新页面
                getUserList(page);
            }else{// 删除失败
                alert(res.message);
            }
        }
    })
}
getUserList();


// 退出登录
async function logout(){
    try{
        await reqLogout();// 退出登录
        // 删除本的 token 和user
        removeToken();
        removeUser();
        // 重定向到login页面
        location.href = '/login.html';
    }catch(e){
        alert('退出失败')
    }
}

// 将getUserList函数暴露给全局使用
window.getUserList = getUserList;
window.logout = logout;